<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::OrganizedFastMesh&lt; PointInT &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_organized_fast_mesh.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classpcl_1_1_organized_fast_mesh-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::OrganizedFastMesh&lt; PointInT &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>Simple triangulation/surface reconstruction for organized point clouds. Neighboring points (pixels in image space) are connected to construct a triangular (or quad) mesh.  
 <a href="classpcl_1_1_organized_fast_mesh.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="organized__fast__mesh_8h_source.html">organized_fast_mesh.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::OrganizedFastMesh&lt; PointInT &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_organized_fast_mesh.png" usemap="#pcl::OrganizedFastMesh_3C_20PointInT_20_3E_map" alt=""/>
  <map id="pcl::OrganizedFastMesh_3C_20PointInT_20_3E_map" name="pcl::OrganizedFastMesh_3C_20PointInT_20_3E_map">
<area href="classpcl_1_1_mesh_construction.html" title="MeshConstruction represents a base surface reconstruction class. All mesh constructing methods that t..." alt="pcl::MeshConstruction&lt; PointInT &gt;" shape="rect" coords="0,112,218,136"/>
<area href="classpcl_1_1_p_c_l_surface_base.html" title="Pure abstract class. All types of meshing/reconstruction algorithms in libpcl_surface must inherit fr..." alt="pcl::PCLSurfaceBase&lt; PointInT &gt;" shape="rect" coords="0,56,218,80"/>
<area href="classpcl_1_1_p_c_l_base.html" alt="pcl::PCLBase&lt; PointInT &gt;" shape="rect" coords="0,0,218,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:ab3a2736225e816e798509a13d47f7529"><td class="memItemLeft" align="right" valign="top"><a id="ab3a2736225e816e798509a13d47f7529"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>TriangulationType</b> { <b>TRIANGLE_RIGHT_CUT</b>
, <b>TRIANGLE_LEFT_CUT</b>
, <b>TRIANGLE_ADAPTIVE_CUT</b>
, <b>QUAD_MESH</b>
 }</td></tr>
<tr class="separator:ab3a2736225e816e798509a13d47f7529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ed41996f8acac65b4fd74a2d0bbd320"><td class="memItemLeft" align="right" valign="top"><a id="a5ed41996f8acac65b4fd74a2d0bbd320"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_organized_fast_mesh.html">OrganizedFastMesh</a>&lt; PointInT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a5ed41996f8acac65b4fd74a2d0bbd320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7991ca191f9ebe074c8f035ea907dba6"><td class="memItemLeft" align="right" valign="top"><a id="a7991ca191f9ebe074c8f035ea907dba6"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_organized_fast_mesh.html">OrganizedFastMesh</a>&lt; PointInT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a7991ca191f9ebe074c8f035ea907dba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98cceb9d4167956cc2879ac2d56f81a"><td class="memItemLeft" align="right" valign="top"><a id="ad98cceb9d4167956cc2879ac2d56f81a"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointInT &gt;::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ad98cceb9d4167956cc2879ac2d56f81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dcd79bb020bc7088e853bf0d54bcb2a"><td class="memItemLeft" align="right" valign="top"><a id="a6dcd79bb020bc7088e853bf0d54bcb2a"></a>
typedef std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Polygons</b></td></tr>
<tr class="separator:a6dcd79bb020bc7088e853bf0d54bcb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_mesh_construction"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_mesh_construction')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_mesh_construction.html">pcl::MeshConstruction&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a823b50cfbf8f8d702ffc2a0254fae2dd inherit pub_types_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top"><a id="a823b50cfbf8f8d702ffc2a0254fae2dd"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_mesh_construction.html">MeshConstruction</a>&lt; PointInT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a823b50cfbf8f8d702ffc2a0254fae2dd inherit pub_types_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d1f7584e0768184f984cea5662111bd inherit pub_types_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top"><a id="a4d1f7584e0768184f984cea5662111bd"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_mesh_construction.html">MeshConstruction</a>&lt; PointInT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a4d1f7584e0768184f984cea5662111bd inherit pub_types_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_surface_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_surface_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_surface_base.html">pcl::PCLSurfaceBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a2f84799184d18b1a1cd975b1150141be inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a2f84799184d18b1a1cd975b1150141be"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_p_c_l_surface_base.html">PCLSurfaceBase</a>&lt; PointInT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a2f84799184d18b1a1cd975b1150141be inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36f91263ab6849f650394555962009b9 inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a36f91263ab6849f650394555962009b9"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_p_c_l_surface_base.html">PCLSurfaceBase</a>&lt; PointInT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a36f91263ab6849f650394555962009b9 inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af69dc51274aeb35ad9d2f5a7c2bc9b13 inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="af69dc51274aeb35ad9d2f5a7c2bc9b13"></a>
typedef <a class="el" href="classpcl_1_1search_1_1_search.html">pcl::search::Search</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>KdTree</b></td></tr>
<tr class="separator:af69dc51274aeb35ad9d2f5a7c2bc9b13 inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d522cbb4c45e2d477244fffd4b6e224 inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a5d522cbb4c45e2d477244fffd4b6e224"></a>
typedef <a class="el" href="classpcl_1_1search_1_1_search.html">pcl::search::Search</a>&lt; PointInT &gt;::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>KdTreePtr</b></td></tr>
<tr class="separator:a5d522cbb4c45e2d477244fffd4b6e224 inherit pub_types_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae2f6f6863a73337858b7a7a054eaae4f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ab84dd662cda89edb882fe5307b2136ea"></a>
typedef PointCloud::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ac8326513fad0680b6993e2f1a79a6af4"></a>
typedef PointCloud::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae51eae0c7b3e0b7178f4894dff90660a"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesPtr</b></td></tr>
<tr class="separator:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a51771056fb4ab8c448a11157acbe2ee0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesConstPtr</b></td></tr>
<tr class="separator:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a58e1b0c042232642a82ec8b27d90386b"><td class="memItemLeft" align="right" valign="top"><a id="a58e1b0c042232642a82ec8b27d90386b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a58e1b0c042232642a82ec8b27d90386b">OrganizedFastMesh</a> ()</td></tr>
<tr class="memdesc:a58e1b0c042232642a82ec8b27d90386b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. Triangulation type defaults to <em>QUAD_MESH</em>. <br /></td></tr>
<tr class="separator:a58e1b0c042232642a82ec8b27d90386b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5baedcee7cdab78236ce2027a8137cb7"><td class="memItemLeft" align="right" valign="top"><a id="a5baedcee7cdab78236ce2027a8137cb7"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a5baedcee7cdab78236ce2027a8137cb7">~OrganizedFastMesh</a> ()</td></tr>
<tr class="memdesc:a5baedcee7cdab78236ce2027a8137cb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a5baedcee7cdab78236ce2027a8137cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87789a49d6f735267bda67f6701ad206"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a87789a49d6f735267bda67f6701ad206">setMaxEdgeLength</a> (float a, float b=0.0f, float c=0.0f)</td></tr>
<tr class="memdesc:a87789a49d6f735267bda67f6701ad206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a maximum edge length. Using not only the scalar <em>a</em>, but also <em>b</em> and <em>c</em>, allows for using a distance threshold in the form of: threshold(x) = c*x*x + b*x + a  <a href="classpcl_1_1_organized_fast_mesh.html#a87789a49d6f735267bda67f6701ad206">更多...</a><br /></td></tr>
<tr class="separator:a87789a49d6f735267bda67f6701ad206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9dd6191e3f466c5750e58842d88f21d"><td class="memItemLeft" align="right" valign="top"><a id="ae9dd6191e3f466c5750e58842d88f21d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unsetMaxEdgeLength</b> ()</td></tr>
<tr class="separator:ae9dd6191e3f466c5750e58842d88f21d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a745e7170a11c9860dd8920e8d212db07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a745e7170a11c9860dd8920e8d212db07">setTrianglePixelSize</a> (int triangle_size)</td></tr>
<tr class="memdesc:a745e7170a11c9860dd8920e8d212db07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the edge length (in pixels) used for constructing the fixed mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#a745e7170a11c9860dd8920e8d212db07">更多...</a><br /></td></tr>
<tr class="separator:a745e7170a11c9860dd8920e8d212db07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c9540f2e18be8d72d6fb11d912bd22c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a8c9540f2e18be8d72d6fb11d912bd22c">setTrianglePixelSizeRows</a> (int triangle_size)</td></tr>
<tr class="memdesc:a8c9540f2e18be8d72d6fb11d912bd22c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the edge length (in pixels) used for iterating over rows when constructing the fixed mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#a8c9540f2e18be8d72d6fb11d912bd22c">更多...</a><br /></td></tr>
<tr class="separator:a8c9540f2e18be8d72d6fb11d912bd22c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8fa19a842373ed2732360c02344d584"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ab8fa19a842373ed2732360c02344d584">setTrianglePixelSizeColumns</a> (int triangle_size)</td></tr>
<tr class="memdesc:ab8fa19a842373ed2732360c02344d584"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the edge length (in pixels) used for iterating over columns when constructing the fixed mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#ab8fa19a842373ed2732360c02344d584">更多...</a><br /></td></tr>
<tr class="separator:ab8fa19a842373ed2732360c02344d584"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed920ebda18de0896470da943bc7cc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a6ed920ebda18de0896470da943bc7cc5">setTriangulationType</a> (TriangulationType type)</td></tr>
<tr class="memdesc:a6ed920ebda18de0896470da943bc7cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the triangulation type (see <em>TriangulationType</em>)  <a href="classpcl_1_1_organized_fast_mesh.html#a6ed920ebda18de0896470da943bc7cc5">更多...</a><br /></td></tr>
<tr class="separator:a6ed920ebda18de0896470da943bc7cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a574d4db8bcd96173c6b48eb7bc49ad4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a574d4db8bcd96173c6b48eb7bc49ad4f">setViewpoint</a> (const Eigen::Vector3f &amp;viewpoint)</td></tr>
<tr class="memdesc:a574d4db8bcd96173c6b48eb7bc49ad4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the viewpoint from where the input point cloud has been acquired.  <a href="classpcl_1_1_organized_fast_mesh.html#a574d4db8bcd96173c6b48eb7bc49ad4f">更多...</a><br /></td></tr>
<tr class="separator:a574d4db8bcd96173c6b48eb7bc49ad4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9baf96b8397f2dd15d797e594b9e4240"><td class="memItemLeft" align="right" valign="top"><a id="a9baf96b8397f2dd15d797e594b9e4240"></a>
const Eigen::Vector3f &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a9baf96b8397f2dd15d797e594b9e4240">getViewpoint</a> () const</td></tr>
<tr class="memdesc:a9baf96b8397f2dd15d797e594b9e4240"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the viewpoint from where the input point cloud has been acquired. <br /></td></tr>
<tr class="separator:a9baf96b8397f2dd15d797e594b9e4240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ce299182a05909db539a1d84f93ee5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a58ce299182a05909db539a1d84f93ee5">storeShadowedFaces</a> (bool enable)</td></tr>
<tr class="memdesc:a58ce299182a05909db539a1d84f93ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store shadowed faces or not.  <a href="classpcl_1_1_organized_fast_mesh.html#a58ce299182a05909db539a1d84f93ee5">更多...</a><br /></td></tr>
<tr class="separator:a58ce299182a05909db539a1d84f93ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2420fca246de67861071dadf39d7e63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ac2420fca246de67861071dadf39d7e63">setAngleTolerance</a> (float angle_tolerance)</td></tr>
<tr class="memdesc:ac2420fca246de67861071dadf39d7e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the angle tolerance used for checking whether or not an edge is occluded. Standard values are 5deg to 15deg (input in rad!). Set a value smaller than zero to disable the check for shadowed edges.  <a href="classpcl_1_1_organized_fast_mesh.html#ac2420fca246de67861071dadf39d7e63">更多...</a><br /></td></tr>
<tr class="separator:ac2420fca246de67861071dadf39d7e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3940a231cb7bb4b6a7f7d239f71fafa"><td class="memItemLeft" align="right" valign="top"><a id="aa3940a231cb7bb4b6a7f7d239f71fafa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setDistanceTolerance</b> (float distance_tolerance, bool depth_dependent=false)</td></tr>
<tr class="separator:aa3940a231cb7bb4b6a7f7d239f71fafa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a362926b64c94d53abb6363f9b916df63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a362926b64c94d53abb6363f9b916df63">useDepthAsDistance</a> (bool enable)</td></tr>
<tr class="memdesc:a362926b64c94d53abb6363f9b916df63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the points' depths (z-coordinates) instead of measured distances (points' distances to the viewpoint).  <a href="classpcl_1_1_organized_fast_mesh.html#a362926b64c94d53abb6363f9b916df63">更多...</a><br /></td></tr>
<tr class="separator:a362926b64c94d53abb6363f9b916df63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_mesh_construction"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_mesh_construction')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_mesh_construction.html">pcl::MeshConstruction&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a72d77b927507e8c28dd847e3c9767e24 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top"><a id="a72d77b927507e8c28dd847e3c9767e24"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_mesh_construction.html#a72d77b927507e8c28dd847e3c9767e24">MeshConstruction</a> ()</td></tr>
<tr class="memdesc:a72d77b927507e8c28dd847e3c9767e24 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a72d77b927507e8c28dd847e3c9767e24 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a1e4bb4c4cae9447611fc8f481b7f30 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top"><a id="a3a1e4bb4c4cae9447611fc8f481b7f30"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_mesh_construction.html#a3a1e4bb4c4cae9447611fc8f481b7f30">~MeshConstruction</a> ()</td></tr>
<tr class="memdesc:a3a1e4bb4c4cae9447611fc8f481b7f30 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a3a1e4bb4c4cae9447611fc8f481b7f30 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77b1b6e0eca6e76f2081665d10e0e169 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_mesh_construction.html#a77b1b6e0eca6e76f2081665d10e0e169">reconstruct</a> (<a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;output)</td></tr>
<tr class="memdesc:a77b1b6e0eca6e76f2081665d10e0e169 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base method for surface reconstruction for all points given in &lt;setInputCloud (), setIndices ()&gt;  <a href="classpcl_1_1_mesh_construction.html#a77b1b6e0eca6e76f2081665d10e0e169">更多...</a><br /></td></tr>
<tr class="separator:a77b1b6e0eca6e76f2081665d10e0e169 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a052b3d739f59f0fab812ebd781387c01 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_mesh_construction.html#a052b3d739f59f0fab812ebd781387c01">reconstruct</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:a052b3d739f59f0fab812ebd781387c01 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base method for mesh construction for all points given in &lt;setInputCloud (), setIndices ()&gt;  <a href="classpcl_1_1_mesh_construction.html#a052b3d739f59f0fab812ebd781387c01">更多...</a><br /></td></tr>
<tr class="separator:a052b3d739f59f0fab812ebd781387c01 inherit pub_methods_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_surface_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_surface_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_surface_base.html">pcl::PCLSurfaceBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:aa4fba20611b3e995b9cc07dac528e4c3 inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="aa4fba20611b3e995b9cc07dac528e4c3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_surface_base.html#aa4fba20611b3e995b9cc07dac528e4c3">PCLSurfaceBase</a> ()</td></tr>
<tr class="memdesc:aa4fba20611b3e995b9cc07dac528e4c3 inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:aa4fba20611b3e995b9cc07dac528e4c3 inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a264840d7b5cf8d1e7e6b3c96e9920c9f inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a264840d7b5cf8d1e7e6b3c96e9920c9f"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_surface_base.html#a264840d7b5cf8d1e7e6b3c96e9920c9f">~PCLSurfaceBase</a> ()</td></tr>
<tr class="memdesc:a264840d7b5cf8d1e7e6b3c96e9920c9f inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty destructor <br /></td></tr>
<tr class="separator:a264840d7b5cf8d1e7e6b3c96e9920c9f inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af599c9767a18649344ff21d3976f1779 inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_surface_base.html#af599c9767a18649344ff21d3976f1779">setSearchMethod</a> (const KdTreePtr &amp;tree)</td></tr>
<tr class="memdesc:af599c9767a18649344ff21d3976f1779 inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide an optional pointer to a search object.  <a href="classpcl_1_1_p_c_l_surface_base.html#af599c9767a18649344ff21d3976f1779">更多...</a><br /></td></tr>
<tr class="separator:af599c9767a18649344ff21d3976f1779 inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2249d44038e0869bbf60e486ab3826af inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a2249d44038e0869bbf60e486ab3826af"></a>
KdTreePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_surface_base.html#a2249d44038e0869bbf60e486ab3826af">getSearchMethod</a> ()</td></tr>
<tr class="memdesc:a2249d44038e0869bbf60e486ab3826af inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the search method used. <br /></td></tr>
<tr class="separator:a2249d44038e0869bbf60e486ab3826af inherit pub_methods_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="af4fbc5eb005057f8a0fc6d60bde595df"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af4fbc5eb005057f8a0fc6d60bde595df">PCLBase</a> ()</td></tr>
<tr class="memdesc:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a7a6dd7a91275d7737cf1b18005b47244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a7a6dd7a91275d7737cf1b18005b47244">PCLBase</a> (const <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a> &amp;base)</td></tr>
<tr class="memdesc:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ad5d6846e98e59c37dcc3dc9958d53966"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ad5d6846e98e59c37dcc3dc9958d53966">~PCLBase</a> ()</td></tr>
<tr class="memdesc:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (const PointCloudConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input dataset  <a href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">更多...</a><br /></td></tr>
<tr class="separator:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a8cd745c4f7a792212f4fc3720b9d46ea"></a>
PointCloudConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a8cd745c4f7a792212f4fc3720b9d46ea">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">setIndices</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">更多...</a><br /></td></tr>
<tr class="separator:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">setIndices</a> (const IndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">更多...</a><br /></td></tr>
<tr class="separator:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">setIndices</a> (const PointIndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">更多...</a><br /></td></tr>
<tr class="separator:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">setIndices</a> (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)</td></tr>
<tr class="memdesc:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the indices for the points laying within an interest region of the point cloud.  <a href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">更多...</a><br /></td></tr>
<tr class="separator:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a058753dd4de73d3d0062fe2e452fba3c"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a058753dd4de73d3d0062fe2e452fba3c">getIndices</a> ()</td></tr>
<tr class="memdesc:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="acae187b37230758959572ceb1e6e2045"></a>
IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acae187b37230758959572ceb1e6e2045">getIndices</a> () const</td></tr>
<tr class="memdesc:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">const PointInT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">operator[]</a> (size_t pos) const</td></tr>
<tr class="memdesc:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override PointCloud operator[] to shorten code  <a href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">更多...</a><br /></td></tr>
<tr class="separator:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a5fee6d23c77a2e4f193d2707d94ca2cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a5fee6d23c77a2e4f193d2707d94ca2cd">reconstructPolygons</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:a5fee6d23c77a2e4f193d2707d94ca2cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the actual polygonal reconstruction.  <a href="classpcl_1_1_organized_fast_mesh.html#a5fee6d23c77a2e4f193d2707d94ca2cd">更多...</a><br /></td></tr>
<tr class="separator:a5fee6d23c77a2e4f193d2707d94ca2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af66bbf2fa9e28aebd2af2e308bf140da"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#af66bbf2fa9e28aebd2af2e308bf140da">performReconstruction</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:af66bbf2fa9e28aebd2af2e308bf140da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the surface.  <a href="classpcl_1_1_organized_fast_mesh.html#af66bbf2fa9e28aebd2af2e308bf140da">更多...</a><br /></td></tr>
<tr class="separator:af66bbf2fa9e28aebd2af2e308bf140da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9d74d4e6627057633ab3d4afb2b14ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ad9d74d4e6627057633ab3d4afb2b14ca">performReconstruction</a> (<a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;output)</td></tr>
<tr class="memdesc:ad9d74d4e6627057633ab3d4afb2b14ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create the surface.  <a href="classpcl_1_1_organized_fast_mesh.html#ad9d74d4e6627057633ab3d4afb2b14ca">更多...</a><br /></td></tr>
<tr class="separator:ad9d74d4e6627057633ab3d4afb2b14ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a851476fa47e32fb39105d88000552f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (int a, int b, int c, int idx, std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:a0a851476fa47e32fb39105d88000552f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new triangle to the current polygon mesh  <a href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">更多...</a><br /></td></tr>
<tr class="separator:a0a851476fa47e32fb39105d88000552f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d65d8b8d6f87d86ce99237d7be43838"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a5d65d8b8d6f87d86ce99237d7be43838">addQuad</a> (int a, int b, int c, int d, int idx, std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:a5d65d8b8d6f87d86ce99237d7be43838"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new quad to the current polygon mesh  <a href="classpcl_1_1_organized_fast_mesh.html#a5d65d8b8d6f87d86ce99237d7be43838">更多...</a><br /></td></tr>
<tr class="separator:a5d65d8b8d6f87d86ce99237d7be43838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdec586da3f519619384964dd61e8ef6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#afdec586da3f519619384964dd61e8ef6">resetPointData</a> (const int &amp;point_index, <a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;mesh, const float &amp;value=0.0f, int field_x_idx=0, int field_y_idx=1, int field_z_idx=2)</td></tr>
<tr class="memdesc:afdec586da3f519619384964dd61e8ef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set (all) coordinates of a particular point to the specified value  <a href="classpcl_1_1_organized_fast_mesh.html#afdec586da3f519619384964dd61e8ef6">更多...</a><br /></td></tr>
<tr class="separator:afdec586da3f519619384964dd61e8ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad27fb6b497795338f4eab1d7103dfb1d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (const PointInT &amp;point_a, const PointInT &amp;point_b)</td></tr>
<tr class="memdesc:ad27fb6b497795338f4eab1d7103dfb1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a point is shadowed by another point  <a href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">更多...</a><br /></td></tr>
<tr class="separator:ad27fb6b497795338f4eab1d7103dfb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6430900529656933de06c2cc84554c15"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (const int &amp;a, const int &amp;b, const int &amp;c)</td></tr>
<tr class="memdesc:a6430900529656933de06c2cc84554c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a triangle is valid.  <a href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">更多...</a><br /></td></tr>
<tr class="separator:a6430900529656933de06c2cc84554c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac570e3fcd088203cfabe6b929b895eb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (const int &amp;a, const int &amp;b, const int &amp;c)</td></tr>
<tr class="memdesc:aac570e3fcd088203cfabe6b929b895eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a triangle is shadowed.  <a href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">更多...</a><br /></td></tr>
<tr class="separator:aac570e3fcd088203cfabe6b929b895eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26da7a6e9d9198f3a89296a6a9339f4d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a26da7a6e9d9198f3a89296a6a9339f4d">isValidQuad</a> (const int &amp;a, const int &amp;b, const int &amp;c, const int &amp;d)</td></tr>
<tr class="memdesc:a26da7a6e9d9198f3a89296a6a9339f4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a quad is valid.  <a href="classpcl_1_1_organized_fast_mesh.html#a26da7a6e9d9198f3a89296a6a9339f4d">更多...</a><br /></td></tr>
<tr class="separator:a26da7a6e9d9198f3a89296a6a9339f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b6e21a32c58df67445d2ce10f44e257"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a0b6e21a32c58df67445d2ce10f44e257">isShadowedQuad</a> (const int &amp;a, const int &amp;b, const int &amp;c, const int &amp;d)</td></tr>
<tr class="memdesc:a0b6e21a32c58df67445d2ce10f44e257"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a triangle is shadowed.  <a href="classpcl_1_1_organized_fast_mesh.html#a0b6e21a32c58df67445d2ce10f44e257">更多...</a><br /></td></tr>
<tr class="separator:a0b6e21a32c58df67445d2ce10f44e257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a370af0c043d7324913d00721461fede0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a370af0c043d7324913d00721461fede0">makeQuadMesh</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:a370af0c043d7324913d00721461fede0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a quad mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#a370af0c043d7324913d00721461fede0">更多...</a><br /></td></tr>
<tr class="separator:a370af0c043d7324913d00721461fede0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a104c0c0b8d68a948db79edda93a6abf5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a104c0c0b8d68a948db79edda93a6abf5">makeRightCutMesh</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:a104c0c0b8d68a948db79edda93a6abf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a right cut mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#a104c0c0b8d68a948db79edda93a6abf5">更多...</a><br /></td></tr>
<tr class="separator:a104c0c0b8d68a948db79edda93a6abf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5df7632921a3a688a1b896f18199a3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#af5df7632921a3a688a1b896f18199a3d">makeLeftCutMesh</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:af5df7632921a3a688a1b896f18199a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a left cut mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#af5df7632921a3a688a1b896f18199a3d">更多...</a><br /></td></tr>
<tr class="separator:af5df7632921a3a688a1b896f18199a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae78e35fa74dac20aa4705cd793f00d1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ae78e35fa74dac20aa4705cd793f00d1d">makeAdaptiveCutMesh</a> (std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;polygons)</td></tr>
<tr class="memdesc:ae78e35fa74dac20aa4705cd793f00d1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an adaptive cut mesh.  <a href="classpcl_1_1_organized_fast_mesh.html#ae78e35fa74dac20aa4705cd793f00d1d">更多...</a><br /></td></tr>
<tr class="separator:ae78e35fa74dac20aa4705cd793f00d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_surface_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_surface_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_surface_base.html">pcl::PCLSurfaceBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a48ad4ec3aee4a3d8f6092f9d63ddf48c inherit pro_methods_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a48ad4ec3aee4a3d8f6092f9d63ddf48c"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_surface_base.html#a48ad4ec3aee4a3d8f6092f9d63ddf48c">getClassName</a> () const</td></tr>
<tr class="memdesc:a48ad4ec3aee4a3d8f6092f9d63ddf48c inherit pro_methods_classpcl_1_1_p_c_l_surface_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract class get name method. <br /></td></tr>
<tr class="separator:a48ad4ec3aee4a3d8f6092f9d63ddf48c inherit pro_methods_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ()</td></tr>
<tr class="memdesc:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation.  <a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">更多...</a><br /></td></tr>
<tr class="separator:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="afc426c4eebb94b7734d4fa556bff1420"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ()</td></tr>
<tr class="memdesc:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after finishing the actual computation. <br /></td></tr>
<tr class="separator:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a6c068309f5707a054eefe8c9b45eeffd"><td class="memItemLeft" align="right" valign="top"><a id="a6c068309f5707a054eefe8c9b45eeffd"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a6c068309f5707a054eefe8c9b45eeffd">max_edge_length_a_</a></td></tr>
<tr class="memdesc:a6c068309f5707a054eefe8c9b45eeffd"><td class="mdescLeft">&#160;</td><td class="mdescRight">max length of edge, scalar component <br /></td></tr>
<tr class="separator:a6c068309f5707a054eefe8c9b45eeffd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43611c421b22a850a992bd97c71bb230"><td class="memItemLeft" align="right" valign="top"><a id="a43611c421b22a850a992bd97c71bb230"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a43611c421b22a850a992bd97c71bb230">max_edge_length_b_</a></td></tr>
<tr class="memdesc:a43611c421b22a850a992bd97c71bb230"><td class="mdescLeft">&#160;</td><td class="mdescRight">max length of edge, scalar component <br /></td></tr>
<tr class="separator:a43611c421b22a850a992bd97c71bb230"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0807e04e362b70a33cdec9e54de1999"><td class="memItemLeft" align="right" valign="top"><a id="ab0807e04e362b70a33cdec9e54de1999"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ab0807e04e362b70a33cdec9e54de1999">max_edge_length_c_</a></td></tr>
<tr class="memdesc:ab0807e04e362b70a33cdec9e54de1999"><td class="mdescLeft">&#160;</td><td class="mdescRight">max length of edge, scalar component <br /></td></tr>
<tr class="separator:ab0807e04e362b70a33cdec9e54de1999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84e3fe5b06ba7b029a02d2030e32616d"><td class="memItemLeft" align="right" valign="top"><a id="a84e3fe5b06ba7b029a02d2030e32616d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a84e3fe5b06ba7b029a02d2030e32616d">max_edge_length_set_</a></td></tr>
<tr class="memdesc:a84e3fe5b06ba7b029a02d2030e32616d"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag whether or not edges are limited in length <br /></td></tr>
<tr class="separator:a84e3fe5b06ba7b029a02d2030e32616d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d92b9a626f91f9bd03ca1e2358b0309"><td class="memItemLeft" align="right" valign="top"><a id="a6d92b9a626f91f9bd03ca1e2358b0309"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a6d92b9a626f91f9bd03ca1e2358b0309">max_edge_length_dist_dependent_</a></td></tr>
<tr class="memdesc:a6d92b9a626f91f9bd03ca1e2358b0309"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag whether or not max edge length is distance dependent. <br /></td></tr>
<tr class="separator:a6d92b9a626f91f9bd03ca1e2358b0309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86b0075b9460f81f18f7520da3b7665f"><td class="memItemLeft" align="right" valign="top"><a id="a86b0075b9460f81f18f7520da3b7665f"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a></td></tr>
<tr class="memdesc:a86b0075b9460f81f18f7520da3b7665f"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of triangle edges (in pixels) for iterating over rows. <br /></td></tr>
<tr class="separator:a86b0075b9460f81f18f7520da3b7665f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a572925f0cf2df7d64d36d97bd48fc69d"><td class="memItemLeft" align="right" valign="top"><a id="a572925f0cf2df7d64d36d97bd48fc69d"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a></td></tr>
<tr class="memdesc:a572925f0cf2df7d64d36d97bd48fc69d"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of triangle edges (in pixels) for iterating over columns <br /></td></tr>
<tr class="separator:a572925f0cf2df7d64d36d97bd48fc69d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade2419a6deb03a67958f147fd6862329"><td class="memItemLeft" align="right" valign="top"><a id="ade2419a6deb03a67958f147fd6862329"></a>
TriangulationType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">triangulation_type_</a></td></tr>
<tr class="memdesc:ade2419a6deb03a67958f147fd6862329"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of meshing scheme (quads vs. triangles, left cut vs. right cut ... <br /></td></tr>
<tr class="separator:ade2419a6deb03a67958f147fd6862329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b106586bcaa65b4b0b7cfdb9c5e3ec4"><td class="memItemLeft" align="right" valign="top"><a id="a4b106586bcaa65b4b0b7cfdb9c5e3ec4"></a>
Eigen::Vector3f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a4b106586bcaa65b4b0b7cfdb9c5e3ec4">viewpoint_</a></td></tr>
<tr class="memdesc:a4b106586bcaa65b4b0b7cfdb9c5e3ec4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Viewpoint from which the point cloud has been acquired (in the same coordinate frame as the data). <br /></td></tr>
<tr class="separator:a4b106586bcaa65b4b0b7cfdb9c5e3ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95887dcb79e61e9f9080f03052d6b95e"><td class="memItemLeft" align="right" valign="top"><a id="a95887dcb79e61e9f9080f03052d6b95e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a></td></tr>
<tr class="memdesc:a95887dcb79e61e9f9080f03052d6b95e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether or not shadowed faces are stored, e.g., for exploration <br /></td></tr>
<tr class="separator:a95887dcb79e61e9f9080f03052d6b95e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bd9daace3f6b7e61dacac8486db32da"><td class="memItemLeft" align="right" valign="top"><a id="a4bd9daace3f6b7e61dacac8486db32da"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a4bd9daace3f6b7e61dacac8486db32da">cos_angle_tolerance_</a></td></tr>
<tr class="memdesc:a4bd9daace3f6b7e61dacac8486db32da"><td class="mdescLeft">&#160;</td><td class="mdescRight">(Cosine of the) angle tolerance used when checking whether or not an edge between two points is shadowed. <br /></td></tr>
<tr class="separator:a4bd9daace3f6b7e61dacac8486db32da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a729eb83f0714852e38744579aba65a"><td class="memItemLeft" align="right" valign="top"><a id="a1a729eb83f0714852e38744579aba65a"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a1a729eb83f0714852e38744579aba65a">distance_tolerance_</a></td></tr>
<tr class="memdesc:a1a729eb83f0714852e38744579aba65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">distance tolerance for filtering out shadowed/occluded edges <br /></td></tr>
<tr class="separator:a1a729eb83f0714852e38744579aba65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eda71fcd93976b2c8504f3822eb67eb"><td class="memItemLeft" align="right" valign="top"><a id="a8eda71fcd93976b2c8504f3822eb67eb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a8eda71fcd93976b2c8504f3822eb67eb">distance_dependent_</a></td></tr>
<tr class="memdesc:a8eda71fcd93976b2c8504f3822eb67eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag whether or not <em>distance_tolerance_</em> is distance dependent (multiplied by the squared distance to the point) or not. <br /></td></tr>
<tr class="separator:a8eda71fcd93976b2c8504f3822eb67eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a2411ca7cdc90058674c07a6aa8573"><td class="memItemLeft" align="right" valign="top"><a id="a35a2411ca7cdc90058674c07a6aa8573"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_organized_fast_mesh.html#a35a2411ca7cdc90058674c07a6aa8573">use_depth_as_distance_</a></td></tr>
<tr class="memdesc:a35a2411ca7cdc90058674c07a6aa8573"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag whether or not the points' depths are used instead of measured distances (points' distances to the viewpoint). This flag may be set using useDepthAsDistance(true) for (RGB-)Depth cameras to skip computations and gain additional speed up. <br /></td></tr>
<tr class="separator:a35a2411ca7cdc90058674c07a6aa8573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_mesh_construction"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_mesh_construction')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_mesh_construction.html">pcl::MeshConstruction&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:af5ff8eafba1264fa83cdadd196b37361 inherit pro_attribs_classpcl_1_1_mesh_construction"><td class="memItemLeft" align="right" valign="top"><a id="af5ff8eafba1264fa83cdadd196b37361"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_mesh_construction.html#af5ff8eafba1264fa83cdadd196b37361">check_tree_</a></td></tr>
<tr class="memdesc:af5ff8eafba1264fa83cdadd196b37361 inherit pro_attribs_classpcl_1_1_mesh_construction"><td class="mdescLeft">&#160;</td><td class="mdescRight">A flag specifying whether or not the derived reconstruction algorithm needs the search object <em>tree</em>. <br /></td></tr>
<tr class="separator:af5ff8eafba1264fa83cdadd196b37361 inherit pro_attribs_classpcl_1_1_mesh_construction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_surface_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_surface_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_surface_base.html">pcl::PCLSurfaceBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a28d2f448602636061ef7d716e0f6e930 inherit pro_attribs_classpcl_1_1_p_c_l_surface_base"><td class="memItemLeft" align="right" valign="top"><a id="a28d2f448602636061ef7d716e0f6e930"></a>
KdTreePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_surface_base.html#a28d2f448602636061ef7d716e0f6e930">tree_</a></td></tr>
<tr class="memdesc:a28d2f448602636061ef7d716e0f6e930 inherit pro_attribs_classpcl_1_1_p_c_l_surface_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the spatial search object. <br /></td></tr>
<tr class="separator:a28d2f448602636061ef7d716e0f6e930 inherit pro_attribs_classpcl_1_1_p_c_l_surface_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a09c70d8e06e3fb4f07903fe6f8d67869"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a></td></tr>
<tr class="memdesc:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset. <br /></td></tr>
<tr class="separator:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="aaee847c8a517ebf365bad2cb182a6626"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a></td></tr>
<tr class="memdesc:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ada1eadb824d34ca9206a86343d9760bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ada1eadb824d34ca9206a86343d9760bb">use_indices_</a></td></tr>
<tr class="memdesc:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if point indices are used. <br /></td></tr>
<tr class="separator:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="adadb0299f144528020ed558af6879662"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#adadb0299f144528020ed558af6879662">fake_indices_</a></td></tr>
<tr class="memdesc:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. <br /></td></tr>
<tr class="separator:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointInT&gt;<br />
class pcl::OrganizedFastMesh&lt; PointInT &gt;</h3>

<p>Simple triangulation/surface reconstruction for organized point clouds. Neighboring points (pixels in image space) are connected to construct a triangular (or quad) mesh. </p>
<dl class="section note"><dt>注解</dt><dd>If you use this code in any academic work, please cite: D. Holz and S. Behnke. Fast Range Image Segmentation and Smoothing using Approximate Surface Reconstruction and Region Growing. In Proceedings of the 12th International Conference on Intelligent Autonomous Systems (IAS), Jeju Island, Korea, June 26-29 2012. <a href="http://purl.org/holz/papers/holz_2012_ias.pdf">http://purl.org/holz/papers/holz_2012_ias.pdf</a></dd></dl>
<dl class="section author"><dt>作者</dt><dd>Dirk Holz, Radu B. Rusu </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="a5d65d8b8d6f87d86ce99237d7be43838"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d65d8b8d6f87d86ce99237d7be43838">&#9670;&nbsp;</a></span>addQuad()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::addQuad </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new quad to the current polygon mesh </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>index of the first vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>index of the second vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>index of the third vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>index of the fourth vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>the index in the set of polygon vertices (assumes <em>idx</em> is valid in <em>polygons</em>) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the polygon mesh to be updated </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;      {</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        assert (idx &lt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (polygons.size ()));</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        polygons[idx].vertices.resize (4);</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        polygons[idx].vertices[0] = a;</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        polygons[idx].vertices[1] = b;</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        polygons[idx].vertices[2] = c;</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        polygons[idx].vertices[3] = d;</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a0a851476fa47e32fb39105d88000552f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a851476fa47e32fb39105d88000552f">&#9670;&nbsp;</a></span>addTriangle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::addTriangle </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add a new triangle to the current polygon mesh </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>index of the first vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>index of the second vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>index of the third vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>the index in the set of polygon vertices (assumes <em>idx</em> is valid in <em>polygons</em>) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the polygon mesh to be updated </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;      {</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        assert (idx &lt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (polygons.size ()));</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        polygons[idx].vertices.resize (3);</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        polygons[idx].vertices[0] = a;</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        polygons[idx].vertices[1] = b;</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        polygons[idx].vertices[2] = c;</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad27fb6b497795338f4eab1d7103dfb1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad27fb6b497795338f4eab1d7103dfb1d">&#9670;&nbsp;</a></span>isShadowed()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::isShadowed </td>
          <td>(</td>
          <td class="paramtype">const PointInT &amp;&#160;</td>
          <td class="paramname"><em>point_a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const PointInT &amp;&#160;</td>
          <td class="paramname"><em>point_b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if a point is shadowed by another point </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">point_a</td><td>the first point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">point_b</td><td>the second point </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;      {</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keywordtype">bool</span> valid = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        Eigen::Vector3f dir_a = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a4b106586bcaa65b4b0b7cfdb9c5e3ec4">viewpoint_</a> - point_a.getVector3fMap ();</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        Eigen::Vector3f dir_b = point_b.getVector3fMap () - point_a.getVector3fMap ();</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordtype">float</span> distance_to_points = dir_a.norm ();</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        <span class="keywordtype">float</span> distance_between_points = dir_b.norm ();</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a4bd9daace3f6b7e61dacac8486db32da">cos_angle_tolerance_</a> &gt; 0)</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        {</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;          <span class="keywordtype">float</span> cos_angle = dir_a.dot (dir_b) / (distance_to_points*distance_between_points);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;          <span class="keywordflow">if</span> (cos_angle != cos_angle)</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;            cos_angle = 1.0f;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;          <span class="keywordtype">bool</span> check_angle = fabs (cos_angle) &gt;= <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a4bd9daace3f6b7e61dacac8486db32da">cos_angle_tolerance_</a>;</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;          <span class="keywordtype">bool</span> check_distance = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;          <span class="keywordflow">if</span> (check_angle &amp;&amp; (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a1a729eb83f0714852e38744579aba65a">distance_tolerance_</a> &gt; 0))</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;          {</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;            <span class="keywordtype">float</span> dist_thresh = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a1a729eb83f0714852e38744579aba65a">distance_tolerance_</a>;</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;            <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a8eda71fcd93976b2c8504f3822eb67eb">distance_dependent_</a>)</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            {</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;              <span class="keywordtype">float</span> d = distance_to_points;</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;              <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a35a2411ca7cdc90058674c07a6aa8573">use_depth_as_distance_</a>)</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                d = std::max(point_a.z, point_b.z);</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;              dist_thresh *= d*d;</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;              dist_thresh *= dist_thresh;  <span class="comment">// distance_tolerance_ is already squared if distance_dependent_ is false.</span></div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;            }</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;            check_distance = (distance_between_points &gt; dist_thresh);</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;          }</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;          valid = !(check_angle &amp;&amp; check_distance);</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;        }</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        <span class="comment">// check if max. edge length is not exceeded</span></div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a84e3fe5b06ba7b029a02d2030e32616d">max_edge_length_set_</a>)</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        {</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;          <span class="keywordtype">float</span> dist = (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a35a2411ca7cdc90058674c07a6aa8573">use_depth_as_distance_</a> ? std::max(point_a.z, point_b.z) : distance_to_points);</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;          <span class="keywordtype">float</span> dist_thresh = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6c068309f5707a054eefe8c9b45eeffd">max_edge_length_a_</a>;</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;          <span class="keywordflow">if</span> (fabs(<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a43611c421b22a850a992bd97c71bb230">max_edge_length_b_</a>) &gt; std::numeric_limits&lt;float&gt;::min())</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;            dist_thresh += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a43611c421b22a850a992bd97c71bb230">max_edge_length_b_</a> * dist;</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;          <span class="keywordflow">if</span> (fabs(<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ab0807e04e362b70a33cdec9e54de1999">max_edge_length_c_</a>) &gt; std::numeric_limits&lt;float&gt;::min())</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            dist_thresh += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#ab0807e04e362b70a33cdec9e54de1999">max_edge_length_c_</a> * dist * dist;</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;          valid = (distance_between_points &lt;= dist_thresh);</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        }</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="keywordflow">return</span> !valid;</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a1a729eb83f0714852e38744579aba65a"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a1a729eb83f0714852e38744579aba65a">pcl::OrganizedFastMesh::distance_tolerance_</a></div><div class="ttdeci">float distance_tolerance_</div><div class="ttdoc">distance tolerance for filtering out shadowed/occluded edges</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:263</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a35a2411ca7cdc90058674c07a6aa8573"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a35a2411ca7cdc90058674c07a6aa8573">pcl::OrganizedFastMesh::use_depth_as_distance_</a></div><div class="ttdeci">bool use_depth_as_distance_</div><div class="ttdoc">flag whether or not the points' depths are used instead of measured distances (points' distances to t...</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:270</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a43611c421b22a850a992bd97c71bb230"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a43611c421b22a850a992bd97c71bb230">pcl::OrganizedFastMesh::max_edge_length_b_</a></div><div class="ttdeci">float max_edge_length_b_</div><div class="ttdoc">max length of edge, scalar component</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:235</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a4b106586bcaa65b4b0b7cfdb9c5e3ec4"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a4b106586bcaa65b4b0b7cfdb9c5e3ec4">pcl::OrganizedFastMesh::viewpoint_</a></div><div class="ttdeci">Eigen::Vector3f viewpoint_</div><div class="ttdoc">Viewpoint from which the point cloud has been acquired (in the same coordinate frame as the data).</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:254</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a4bd9daace3f6b7e61dacac8486db32da"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a4bd9daace3f6b7e61dacac8486db32da">pcl::OrganizedFastMesh::cos_angle_tolerance_</a></div><div class="ttdeci">float cos_angle_tolerance_</div><div class="ttdoc">(Cosine of the) angle tolerance used when checking whether or not an edge between two points is shado...</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:260</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a6c068309f5707a054eefe8c9b45eeffd"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a6c068309f5707a054eefe8c9b45eeffd">pcl::OrganizedFastMesh::max_edge_length_a_</a></div><div class="ttdeci">float max_edge_length_a_</div><div class="ttdoc">max length of edge, scalar component</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:233</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a84e3fe5b06ba7b029a02d2030e32616d"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a84e3fe5b06ba7b029a02d2030e32616d">pcl::OrganizedFastMesh::max_edge_length_set_</a></div><div class="ttdeci">bool max_edge_length_set_</div><div class="ttdoc">flag whether or not edges are limited in length</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:239</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a8eda71fcd93976b2c8504f3822eb67eb"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a8eda71fcd93976b2c8504f3822eb67eb">pcl::OrganizedFastMesh::distance_dependent_</a></div><div class="ttdeci">bool distance_dependent_</div><div class="ttdoc">flag whether or not distance_tolerance_ is distance dependent (multiplied by the squared distance to ...</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:266</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_ab0807e04e362b70a33cdec9e54de1999"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#ab0807e04e362b70a33cdec9e54de1999">pcl::OrganizedFastMesh::max_edge_length_c_</a></div><div class="ttdeci">float max_edge_length_c_</div><div class="ttdoc">max length of edge, scalar component</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:237</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0b6e21a32c58df67445d2ce10f44e257"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b6e21a32c58df67445d2ce10f44e257">&#9670;&nbsp;</a></span>isShadowedQuad()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::isShadowedQuad </td>
          <td>(</td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if a triangle is shadowed. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>index of the first vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>index of the second vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>index of the third vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>index of the fourth vertex </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;      {</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[a], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[b])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[b], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[c])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[c], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[d])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[d], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[a])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_ad27fb6b497795338f4eab1d7103dfb1d"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">pcl::OrganizedFastMesh::isShadowed</a></div><div class="ttdeci">bool isShadowed(const PointInT &amp;point_a, const PointInT &amp;point_b)</div><div class="ttdoc">Check if a point is shadowed by another point</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:354</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_a09c70d8e06e3fb4f07903fe6f8d67869"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">pcl::PCLBase&lt; PointInT &gt;::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">The input point cloud dataset.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:150</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aac570e3fcd088203cfabe6b929b895eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac570e3fcd088203cfabe6b929b895eb">&#9670;&nbsp;</a></span>isShadowedTriangle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::isShadowedTriangle </td>
          <td>(</td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if a triangle is shadowed. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>index of the first vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>index of the second vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>index of the third vertex </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;      {</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[a], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[b])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[b], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[c])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ad27fb6b497795338f4eab1d7103dfb1d">isShadowed</a> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[c], <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[a])) <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a26da7a6e9d9198f3a89296a6a9339f4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26da7a6e9d9198f3a89296a6a9339f4d">&#9670;&nbsp;</a></span>isValidQuad()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::isValidQuad </td>
          <td>(</td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if a quad is valid. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>index of the first vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>index of the second vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>index of the third vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>index of the fourth vertex </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;      {</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[a])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[b])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[c])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[d])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6430900529656933de06c2cc84554c15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6430900529656933de06c2cc84554c15">&#9670;&nbsp;</a></span>isValidTriangle()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::isValidTriangle </td>
          <td>(</td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if a triangle is valid. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>index of the first vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>index of the second vertex </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>index of the third vertex </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;      {</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[a])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[b])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        <span class="keywordflow">if</span> (!pcl::isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[c])) <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae78e35fa74dac20aa4705cd793f00d1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae78e35fa74dac20aa4705cd793f00d1d">&#9670;&nbsp;</a></span>makeAdaptiveCutMesh()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::makeAdaptiveCutMesh </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an adaptive cut mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the resultant mesh </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="keywordtype">int</span> last_column = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="keywordtype">int</span> last_row = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>;</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keywordtype">int</span> i = 0, index_down = 0, index_right = 0, index_down_right = 0, idx = 0;</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;  <span class="keywordtype">int</span> y_big_incr = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a> * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width,</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;      x_big_incr = y_big_incr + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="comment">// Reserve enough space</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  polygons.resize (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height * 2);</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="comment">// Go over the rows first</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> y = 0; y &lt; last_row; y += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>)</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  {</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="comment">// Initialize a new row</span></div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    i = y * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    index_right = i + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    index_down = i + y_big_incr;</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    index_down_right = i + x_big_incr;</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="comment">// Go over the columns</span></div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = 0; x &lt; last_column; x += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                                     i += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                                     index_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                                     index_down += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                                     index_down_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>)</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    {</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">bool</span> right_cut_upper = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (i, index_down_right, index_right);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">bool</span> right_cut_lower = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (i, index_down, index_down_right);</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">bool</span> left_cut_upper = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (i, index_down, index_right);</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">bool</span> left_cut_lower = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (index_right, index_down, index_down_right);</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;      <span class="keywordflow">if</span> (right_cut_upper &amp;&amp; right_cut_lower &amp;&amp; left_cut_upper &amp;&amp; left_cut_lower)</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;      {</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        <span class="keywordtype">float</span> dist_right_cut = fabsf (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[index_down].z - <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[index_right].z);</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <span class="keywordtype">float</span> dist_left_cut = fabsf (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[i].z - <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[index_down_right].z);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="keywordflow">if</span> (dist_right_cut &gt;= dist_left_cut)</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        {</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down_right, index_right))</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down_right, index_right, idx++, polygons);</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down, index_down_right))</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down, index_down_right, idx++, polygons);</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        }</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        {</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down, index_right))</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down, index_right, idx++, polygons);</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (index_right, index_down, index_down_right))</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (index_right, index_down, index_down_right, idx++, polygons);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        }</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;      }</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      <span class="keywordflow">else</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      {</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keywordflow">if</span> (right_cut_upper)</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down_right, index_right))</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down_right, index_right, idx++, polygons);</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">if</span> (right_cut_lower)</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down, index_down_right))</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down, index_down_right, idx++, polygons);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="keywordflow">if</span> (left_cut_upper)</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down, index_right))</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down, index_right, idx++, polygons);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="keywordflow">if</span> (left_cut_lower)</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;          <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (index_right, index_down, index_down_right))</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;            <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (index_right, index_down, index_down_right, idx++, polygons);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;      }</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    }</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  }</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  polygons.resize (idx);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a0a851476fa47e32fb39105d88000552f"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">pcl::OrganizedFastMesh::addTriangle</a></div><div class="ttdeci">void addTriangle(int a, int b, int c, int idx, std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Add a new triangle to the current polygon mesh</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:303</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a572925f0cf2df7d64d36d97bd48fc69d"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">pcl::OrganizedFastMesh::triangle_pixel_size_columns_</a></div><div class="ttdeci">int triangle_pixel_size_columns_</div><div class="ttdoc">size of triangle edges (in pixels) for iterating over columns</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:248</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a6430900529656933de06c2cc84554c15"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">pcl::OrganizedFastMesh::isValidTriangle</a></div><div class="ttdeci">bool isValidTriangle(const int &amp;a, const int &amp;b, const int &amp;c)</div><div class="ttdoc">Check if a triangle is valid.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:408</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a86b0075b9460f81f18f7520da3b7665f"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">pcl::OrganizedFastMesh::triangle_pixel_size_rows_</a></div><div class="ttdeci">int triangle_pixel_size_rows_</div><div class="ttdoc">size of triangle edges (in pixels) for iterating over rows.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:245</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a95887dcb79e61e9f9080f03052d6b95e"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">pcl::OrganizedFastMesh::store_shadowed_faces_</a></div><div class="ttdeci">bool store_shadowed_faces_</div><div class="ttdoc">Whether or not shadowed faces are stored, e.g., for exploration</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:257</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_aac570e3fcd088203cfabe6b929b895eb"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">pcl::OrganizedFastMesh::isShadowedTriangle</a></div><div class="ttdeci">bool isShadowedTriangle(const int &amp;a, const int &amp;b, const int &amp;c)</div><div class="ttdoc">Check if a triangle is shadowed.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:422</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af5df7632921a3a688a1b896f18199a3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5df7632921a3a688a1b896f18199a3d">&#9670;&nbsp;</a></span>makeLeftCutMesh()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::makeLeftCutMesh </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a left cut mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the resultant mesh </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;{</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keywordtype">int</span> last_column = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keywordtype">int</span> last_row = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keywordtype">int</span> i = 0, index_down = 0, index_right = 0, index_down_right = 0, idx = 0;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="keywordtype">int</span> y_big_incr = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a> * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width,</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;      x_big_incr = y_big_incr + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="comment">// Reserve enough space</span></div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  polygons.resize (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height * 2);</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="comment">// Go over the rows first</span></div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> y = 0; y &lt; last_row; y += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>)</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  {</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="comment">// Initialize a new row</span></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    i = y * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    index_right = i + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    index_down = i + y_big_incr;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    index_down_right = i + x_big_incr;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="comment">// Go over the columns</span></div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = 0; x &lt; last_column; x += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                                     i += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                                     index_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                                     index_down += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                                     index_down_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>)</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    {</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (i, index_down, index_right))</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down, index_right))</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down, index_right, idx++, polygons);</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (index_right, index_down, index_down_right))</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (index_right, index_down, index_down_right))</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (index_right, index_down, index_down_right, idx++, polygons);</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    }</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  }</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  polygons.resize (idx);</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a370af0c043d7324913d00721461fede0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a370af0c043d7324913d00721461fede0">&#9670;&nbsp;</a></span>makeQuadMesh()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::makeQuadMesh </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a quad mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the resultant mesh </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;{</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <span class="keywordtype">int</span> last_column = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  <span class="keywordtype">int</span> last_row = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;  <span class="keywordtype">int</span> i = 0, index_down = 0, index_right = 0, index_down_right = 0, idx = 0;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordtype">int</span> y_big_incr = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a> * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width,</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;      x_big_incr = y_big_incr + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="comment">// Reserve enough space</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  polygons.resize (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// Go over the rows first</span></div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> y = 0; y &lt; last_row; y += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>)</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  {</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="comment">// Initialize a new row</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    i = y * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    index_right = i + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    index_down = i + y_big_incr;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    index_down_right = i + x_big_incr;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="comment">// Go over the columns</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = 0; x &lt; last_column; x += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                                     i += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;                                     index_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                                     index_down += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                                     index_down_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>)</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    {</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a26da7a6e9d9198f3a89296a6a9339f4d">isValidQuad</a> (i, index_right, index_down_right, index_down))</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0b6e21a32c58df67445d2ce10f44e257">isShadowedQuad</a> (i, index_right, index_down_right, index_down))</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a5d65d8b8d6f87d86ce99237d7be43838">addQuad</a> (i, index_right, index_down_right, index_down, idx++, polygons);</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    }</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  }</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  polygons.resize (idx);</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a0b6e21a32c58df67445d2ce10f44e257"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a0b6e21a32c58df67445d2ce10f44e257">pcl::OrganizedFastMesh::isShadowedQuad</a></div><div class="ttdeci">bool isShadowedQuad(const int &amp;a, const int &amp;b, const int &amp;c, const int &amp;d)</div><div class="ttdoc">Check if a triangle is shadowed.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:453</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a26da7a6e9d9198f3a89296a6a9339f4d"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a26da7a6e9d9198f3a89296a6a9339f4d">pcl::OrganizedFastMesh::isValidQuad</a></div><div class="ttdeci">bool isValidQuad(const int &amp;a, const int &amp;b, const int &amp;c, const int &amp;d)</div><div class="ttdoc">Check if a quad is valid.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:437</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a5d65d8b8d6f87d86ce99237d7be43838"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a5d65d8b8d6f87d86ce99237d7be43838">pcl::OrganizedFastMesh::addQuad</a></div><div class="ttdeci">void addQuad(int a, int b, int c, int d, int idx, std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Add a new quad to the current polygon mesh</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:321</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a104c0c0b8d68a948db79edda93a6abf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a104c0c0b8d68a948db79edda93a6abf5">&#9670;&nbsp;</a></span>makeRightCutMesh()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::makeRightCutMesh </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a right cut mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the resultant mesh </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keywordtype">int</span> last_column = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keywordtype">int</span> last_row = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height - <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keywordtype">int</span> i = 0, index_down = 0, index_right = 0, index_down_right = 0, idx = 0;</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keywordtype">int</span> y_big_incr = <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a> * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width,</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      x_big_incr = y_big_incr + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="comment">// Reserve enough space</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  polygons.resize (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;height * 2);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// Go over the rows first</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> y = 0; y &lt; last_row; y += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a>)</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  {</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="comment">// Initialize a new row</span></div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    i = y * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;width;</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    index_right = i + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    index_down = i + y_big_incr;</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    index_down_right = i + x_big_incr;</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="comment">// Go over the columns</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> x = 0; x &lt; last_column; x += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                                     i += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                                     index_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                                     index_down += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>,</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                                     index_down_right += <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a>)</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    {</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (i, index_down_right, index_right))</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down_right, index_right))</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down_right, index_right, idx++, polygons);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;      <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6430900529656933de06c2cc84554c15">isValidTriangle</a> (i, index_down, index_down_right))</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> || !<a class="code" href="classpcl_1_1_organized_fast_mesh.html#aac570e3fcd088203cfabe6b929b895eb">isShadowedTriangle</a> (i, index_down, index_down_right))</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a0a851476fa47e32fb39105d88000552f">addTriangle</a> (i, index_down, index_down_right, idx++, polygons);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    }</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  }</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  polygons.resize (idx);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad9d74d4e6627057633ab3d4afb2b14ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9d74d4e6627057633ab3d4afb2b14ca">&#9670;&nbsp;</a></span>performReconstruction() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::performReconstruction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the surface. </p>
<p>Simply uses image indices to create an initial polygonal mesh for organized point clouds. <em>indices_</em> are ignored!</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>the resultant polygonal mesh </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1_mesh_construction.html#aa8fcdad3f757ca304a9776f88510fb83">pcl::MeshConstruction&lt; PointInT &gt;</a>.</p>
<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a5fee6d23c77a2e4f193d2707d94ca2cd">reconstructPolygons</a> (output.polygons);</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="comment">// Get the field names</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="keywordtype">int</span> x_idx = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (output.cloud, <span class="stringliteral">&quot;x&quot;</span>);</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keywordtype">int</span> y_idx = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (output.cloud, <span class="stringliteral">&quot;y&quot;</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keywordtype">int</span> z_idx = <a class="code" href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a> (output.cloud, <span class="stringliteral">&quot;z&quot;</span>);</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keywordflow">if</span> (x_idx == -1 || y_idx == -1 || z_idx == -1)</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  <span class="comment">// correct all measurements,</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  <span class="comment">// (running over complete image since some rows and columns are left out</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="comment">// depending on triangle_pixel_size)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// avoid to do that here (only needed for ASCII mesh file output, e.g., in vtk files</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points.size (); ++i)</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">if</span> (!isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[i]))</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <a class="code" href="classpcl_1_1_organized_fast_mesh.html#afdec586da3f519619384964dd61e8ef6">resetPointData</a> (i, output, 0.0f, x_idx, y_idx, z_idx);</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a5fee6d23c77a2e4f193d2707d94ca2cd"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a5fee6d23c77a2e4f193d2707d94ca2cd">pcl::OrganizedFastMesh::reconstructPolygons</a></div><div class="ttdeci">void reconstructPolygons(std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Perform the actual polygonal reconstruction.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.hpp:76</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_afdec586da3f519619384964dd61e8ef6"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#afdec586da3f519619384964dd61e8ef6">pcl::OrganizedFastMesh::resetPointData</a></div><div class="ttdeci">void resetPointData(const int &amp;point_index, pcl::PolygonMesh &amp;mesh, const float &amp;value=0.0f, int field_x_idx=0, int field_y_idx=1, int field_z_idx=2)</div><div class="ttdoc">Set (all) coordinates of a particular point to the specified value</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:340</div></div>
<div class="ttc" id="agroup__common_html_ga2bc4b9a4e25de1d0b00db4e41f0ad682"><div class="ttname"><a href="group__common.html#ga2bc4b9a4e25de1d0b00db4e41f0ad682">pcl::getFieldIndex</a></div><div class="ttdeci">int getFieldIndex(const pcl::PCLPointCloud2 &amp;cloud, const std::string &amp;field_name)</div><div class="ttdoc">Get the index of a specified field (i.e., dimension/channel)</div><div class="ttdef"><b>Definition:</b> io.h:59</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af66bbf2fa9e28aebd2af2e308bf140da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af66bbf2fa9e28aebd2af2e308bf140da">&#9670;&nbsp;</a></span>performReconstruction() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::performReconstruction </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create the surface. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the resultant polygons, as a set of vertices. The <a class="el" href="structpcl_1_1_vertices.html" title="Describes a set of vertices in a polygon mesh, by basically storing an array of indices.">Vertices</a> structure contains an array of point indices. </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1_mesh_construction.html#abc10f0d821c51523876d9ff2faa12ccc">pcl::MeshConstruction&lt; PointInT &gt;</a>.</p>
<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a5fee6d23c77a2e4f193d2707d94ca2cd">reconstructPolygons</a> (polygons);</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5fee6d23c77a2e4f193d2707d94ca2cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fee6d23c77a2e4f193d2707d94ca2cd">&#9670;&nbsp;</a></span>reconstructPolygons()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::reconstructPolygons </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structpcl_1_1_vertices.html">pcl::Vertices</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>polygons</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Perform the actual polygonal reconstruction. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">polygons</td><td>the resultant polygons </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;{</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">triangulation_type_</a> == TRIANGLE_RIGHT_CUT)</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a104c0c0b8d68a948db79edda93a6abf5">makeRightCutMesh</a> (polygons);</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">triangulation_type_</a> == TRIANGLE_LEFT_CUT)</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <a class="code" href="classpcl_1_1_organized_fast_mesh.html#af5df7632921a3a688a1b896f18199a3d">makeLeftCutMesh</a> (polygons);</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">triangulation_type_</a> == TRIANGLE_ADAPTIVE_CUT)</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="classpcl_1_1_organized_fast_mesh.html#ae78e35fa74dac20aa4705cd793f00d1d">makeAdaptiveCutMesh</a> (polygons);</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">triangulation_type_</a> == QUAD_MESH)</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a370af0c043d7324913d00721461fede0">makeQuadMesh</a> (polygons);</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a104c0c0b8d68a948db79edda93a6abf5"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a104c0c0b8d68a948db79edda93a6abf5">pcl::OrganizedFastMesh::makeRightCutMesh</a></div><div class="ttdeci">void makeRightCutMesh(std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Create a right cut mesh.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.hpp:127</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a370af0c043d7324913d00721461fede0"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a370af0c043d7324913d00721461fede0">pcl::OrganizedFastMesh::makeQuadMesh</a></div><div class="ttdeci">void makeQuadMesh(std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Create a quad mesh.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.hpp:90</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_ade2419a6deb03a67958f147fd6862329"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">pcl::OrganizedFastMesh::triangulation_type_</a></div><div class="ttdeci">TriangulationType triangulation_type_</div><div class="ttdoc">Type of meshing scheme (quads vs. triangles, left cut vs. right cut ...</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:251</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_ae78e35fa74dac20aa4705cd793f00d1d"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#ae78e35fa74dac20aa4705cd793f00d1d">pcl::OrganizedFastMesh::makeAdaptiveCutMesh</a></div><div class="ttdeci">void makeAdaptiveCutMesh(std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Create an adaptive cut mesh.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.hpp:209</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_af5df7632921a3a688a1b896f18199a3d"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#af5df7632921a3a688a1b896f18199a3d">pcl::OrganizedFastMesh::makeLeftCutMesh</a></div><div class="ttdeci">void makeLeftCutMesh(std::vector&lt; pcl::Vertices &gt; &amp;polygons)</div><div class="ttdoc">Create a left cut mesh.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.hpp:168</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afdec586da3f519619384964dd61e8ef6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdec586da3f519619384964dd61e8ef6">&#9670;&nbsp;</a></span>resetPointData()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::resetPointData </td>
          <td>(</td>
          <td class="paramtype">const int &amp;&#160;</td>
          <td class="paramname"><em>point_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;&#160;</td>
          <td class="paramname"><em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>value</em> = <code>0.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>field_x_idx</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>field_y_idx</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>field_z_idx</em> = <code>2</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set (all) coordinates of a particular point to the specified value </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">point_index</td><td>index of point </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">mesh</td><td>to modify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>value to use when re-setting </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">field_x_idx</td><td>the X coordinate of the point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">field_y_idx</td><td>the Y coordinate of the point </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">field_z_idx</td><td>the Z coordinate of the point </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      {</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <span class="keywordtype">float</span> new_value = value;</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        memcpy (&amp;mesh.cloud.data[point_index * mesh.cloud.point_step + mesh.cloud.fields[field_x_idx].offset], &amp;new_value, sizeof (<span class="keywordtype">float</span>));</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        memcpy (&amp;mesh.cloud.data[point_index * mesh.cloud.point_step + mesh.cloud.fields[field_y_idx].offset], &amp;new_value, sizeof (<span class="keywordtype">float</span>));</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        memcpy (&amp;mesh.cloud.data[point_index * mesh.cloud.point_step + mesh.cloud.fields[field_z_idx].offset], &amp;new_value, sizeof (<span class="keywordtype">float</span>));</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac2420fca246de67861071dadf39d7e63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2420fca246de67861071dadf39d7e63">&#9670;&nbsp;</a></span>setAngleTolerance()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setAngleTolerance </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>angle_tolerance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the angle tolerance used for checking whether or not an edge is occluded. Standard values are 5deg to 15deg (input in rad!). Set a value smaller than zero to disable the check for shadowed edges. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">angle_tolerance</td><td>Angle tolerance (in rad). Set a value &lt;0 to disable. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;      {</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        <span class="keywordflow">if</span> (angle_tolerance &gt; 0)</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a4bd9daace3f6b7e61dacac8486db32da">cos_angle_tolerance_</a> = fabsf (cosf (angle_tolerance));</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a4bd9daace3f6b7e61dacac8486db32da">cos_angle_tolerance_</a> = -1.0f;</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a87789a49d6f735267bda67f6701ad206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87789a49d6f735267bda67f6701ad206">&#9670;&nbsp;</a></span>setMaxEdgeLength()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setMaxEdgeLength </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>b</em> = <code>0.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>c</em> = <code>0.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set a maximum edge length. Using not only the scalar <em>a</em>, but also <em>b</em> and <em>c</em>, allows for using a distance threshold in the form of: threshold(x) = c*x*x + b*x + a </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>scalar coefficient of the (distance-dependent polynom) threshold </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>linear coefficient of the (distance-dependent polynom) threshold </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>quadratic coefficient of the (distance-dependent polynom) threshold </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;      {</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6c068309f5707a054eefe8c9b45eeffd">max_edge_length_a_</a> = a;</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a43611c421b22a850a992bd97c71bb230">max_edge_length_b_</a> = b;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#ab0807e04e362b70a33cdec9e54de1999">max_edge_length_c_</a> = c;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">if</span> ((<a class="code" href="classpcl_1_1_organized_fast_mesh.html#a6c068309f5707a054eefe8c9b45eeffd">max_edge_length_a_</a> + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a43611c421b22a850a992bd97c71bb230">max_edge_length_b_</a> + <a class="code" href="classpcl_1_1_organized_fast_mesh.html#ab0807e04e362b70a33cdec9e54de1999">max_edge_length_c_</a>) &gt; std::numeric_limits&lt;float&gt;::min())</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a84e3fe5b06ba7b029a02d2030e32616d">max_edge_length_set_</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;          <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a84e3fe5b06ba7b029a02d2030e32616d">max_edge_length_set_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      };</div>
</div><!-- fragment -->
</div>
</div>
<a id="a745e7170a11c9860dd8920e8d212db07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a745e7170a11c9860dd8920e8d212db07">&#9670;&nbsp;</a></span>setTrianglePixelSize()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setTrianglePixelSize </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>triangle_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the edge length (in pixels) used for constructing the fixed mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">triangle_size</td><td>edge length in pixels (Default: 1 = neighboring pixels are connected) </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;      {</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a8c9540f2e18be8d72d6fb11d912bd22c">setTrianglePixelSizeRows</a> (triangle_size);</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#ab8fa19a842373ed2732360c02344d584">setTrianglePixelSizeColumns</a> (triangle_size);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_a8c9540f2e18be8d72d6fb11d912bd22c"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#a8c9540f2e18be8d72d6fb11d912bd22c">pcl::OrganizedFastMesh::setTrianglePixelSizeRows</a></div><div class="ttdeci">void setTrianglePixelSizeRows(int triangle_size)</div><div class="ttdoc">Set the edge length (in pixels) used for iterating over rows when constructing the fixed mesh.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:150</div></div>
<div class="ttc" id="aclasspcl_1_1_organized_fast_mesh_html_ab8fa19a842373ed2732360c02344d584"><div class="ttname"><a href="classpcl_1_1_organized_fast_mesh.html#ab8fa19a842373ed2732360c02344d584">pcl::OrganizedFastMesh::setTrianglePixelSizeColumns</a></div><div class="ttdeci">void setTrianglePixelSizeColumns(int triangle_size)</div><div class="ttdoc">Set the edge length (in pixels) used for iterating over columns when constructing the fixed mesh.</div><div class="ttdef"><b>Definition:</b> organized_fast_mesh.h:160</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab8fa19a842373ed2732360c02344d584"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8fa19a842373ed2732360c02344d584">&#9670;&nbsp;</a></span>setTrianglePixelSizeColumns()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setTrianglePixelSizeColumns </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>triangle_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the edge length (in pixels) used for iterating over columns when constructing the fixed mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">triangle_size</td><td>edge length in pixels (Default: 1 = neighboring pixels are connected) </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;      {</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a572925f0cf2df7d64d36d97bd48fc69d">triangle_pixel_size_columns_</a> = std::max (1, (triangle_size - 1));</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8c9540f2e18be8d72d6fb11d912bd22c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c9540f2e18be8d72d6fb11d912bd22c">&#9670;&nbsp;</a></span>setTrianglePixelSizeRows()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setTrianglePixelSizeRows </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>triangle_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the edge length (in pixels) used for iterating over rows when constructing the fixed mesh. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">triangle_size</td><td>edge length in pixels (Default: 1 = neighboring pixels are connected) </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      {</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a86b0075b9460f81f18f7520da3b7665f">triangle_pixel_size_rows_</a> = std::max (1, (triangle_size - 1));</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6ed920ebda18de0896470da943bc7cc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ed920ebda18de0896470da943bc7cc5">&#9670;&nbsp;</a></span>setTriangulationType()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setTriangulationType </td>
          <td>(</td>
          <td class="paramtype">TriangulationType&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the triangulation type (see <em>TriangulationType</em>) </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>quad mesh, triangle mesh with fixed left, right cut, or adaptive cut (splits a quad w.r.t. the depth (z) of the points) </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;      {</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#ade2419a6deb03a67958f147fd6862329">triangulation_type_</a> = type;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a574d4db8bcd96173c6b48eb7bc49ad4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a574d4db8bcd96173c6b48eb7bc49ad4f">&#9670;&nbsp;</a></span>setViewpoint()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::setViewpoint </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Vector3f &amp;&#160;</td>
          <td class="paramname"><em>viewpoint</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the viewpoint from where the input point cloud has been acquired. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">viewpoint</td><td>Vector containing the viewpoint coordinates (in the coordinate system of the data) </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;      {</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a4b106586bcaa65b4b0b7cfdb9c5e3ec4">viewpoint_</a> = viewpoint;</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a58ce299182a05909db539a1d84f93ee5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58ce299182a05909db539a1d84f93ee5">&#9670;&nbsp;</a></span>storeShadowedFaces()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::storeShadowedFaces </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Store shadowed faces or not. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>set to true to store shadowed faces </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      {</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a95887dcb79e61e9f9080f03052d6b95e">store_shadowed_faces_</a> = enable;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a362926b64c94d53abb6363f9b916df63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a362926b64c94d53abb6363f9b916df63">&#9670;&nbsp;</a></span>useDepthAsDistance()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_organized_fast_mesh.html">pcl::OrganizedFastMesh</a>&lt; PointInT &gt;::useDepthAsDistance </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Use the points' depths (z-coordinates) instead of measured distances (points' distances to the viewpoint). </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>Set to true skips comptations and further speeds up computation by using depth instead of computing distance. false to disable. </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;      {</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <a class="code" href="classpcl_1_1_organized_fast_mesh.html#a35a2411ca7cdc90058674c07a6aa8573">use_depth_as_distance_</a> = enable;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;      }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>surface/include/pcl/surface/<a class="el" href="organized__fast__mesh_8h_source.html">organized_fast_mesh.h</a></li>
<li>surface/include/pcl/surface/impl/<a class="el" href="organized__fast__mesh_8hpp_source.html">organized_fast_mesh.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_organized_fast_mesh.html">OrganizedFastMesh</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
